package com.agileboot.attendance.domain.project.entity;

import com.agileboot.common.core.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 项目实体类
 * 
 * @author ruoyi
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("att_project")
public class AttProjectEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 项目ID
     */
    @TableId(value = "project_id", type = IdType.AUTO)
    private Long projectId;

    /**
     * 项目名称
     */
    @TableField("project_name")
    private String projectName;

    /**
     * 项目描述
     */
    @TableField("project_desc")
    private String projectDesc;

    /**
     * 项目负责人
     */
    @TableField("project_manager")
    private String projectManager;

    /**
     * 项目编码
     */
    @TableField("project_code")
    private String projectCode;

    /**
     * 项目状态（0规划中、1进行中、2已完成、3已关闭）
     */
    @TableField("status")
    private String status;

    /**
     * 项目经理ID
     */
    @TableField("manager_id")
    private Long managerId;

    /**
     * 开始日期
     */
    @TableField("start_date")
    private Date startDate;

    /**
     * 结束日期
     */
    @TableField("end_date")
    private Date endDate;

    /**
     * 总预算
     */
    @TableField("total_budget")
    private BigDecimal totalBudget;

    /**
     * 总人月数
     */
    @TableField("total_man_months")
    private BigDecimal totalManMonths;

    /**
     * 已用人月数
     */
    @TableField("used_man_months")
    private BigDecimal usedManMonths;
    
    /**
     * 备注
     */
    @TableField("remark")
    private String remark;
} 